class_name Set

var impl := []

var size = 0 setget _set_size, _get_size


func _get_size():
	return impl.size()


func _set_size(_s):
	pass


func add(val):
	if impl.has(val):
		return
	impl.append(val)


func clear():
	impl.clear()


func delete(val):
	impl.erase(val)


func values():
	return impl


func has(val):
	return impl.has(val)
